//
//  YHOptionLayoutItemStyles.h
//  ScriptKill
//
//  Created by 林宁宁 on 2021/4/28.
//  Copyright © 2021 优智汇. All rights reserved.
//

#import <Foundation/Foundation.h>

#import "YHOptionTableViewItem.h"
#import "YHOptionTableViewItemTwoBoxs.h"
#import "YHOptionTableViewItemCheckBox.h"
#import "YHOptionTableViewItemInputTextFiled.h"
#import "YHOptionTableViewItemImageList.h"
#import "YHOptionTableViewItemTags.h"
#import "YHOptionTableViewItemInputTextView.h"
#import "YHOptionTableViewItemSwitch.h"
#import "YHOptionTableViewItemCustomStyle.h"
#import "YHOptionTableViewItemTitle.h"
#import "YHOptionTableViewItemPickerInfo.h"

#import <YHConstant/YHConstant.h>

NS_ASSUME_NONNULL_BEGIN




#pragma mark - item



/// 空行
/// @param height 空行的高度
YHOptionTableViewItem * YHOptionTableItemInitSpace(CGFloat height);
/// 标题
YHOptionTableViewItem * YHOptionTableItemInitTitle(NSString * _Nullable title, BOOL showRightArrow, BOOL showBottomLine);
/// 标题内容
YHOptionTableViewItem * YHOptionTableItemInitTitleContent(NSString * _Nullable title, NSString * _Nullable content);
YHOptionTableViewItem * YHOptionTableItemInitTitleContentStyle(NSString * _Nullable title, NSString * _Nullable content, UIFont * _Nullable font, UIColor * _Nullable color);

/// 标题 指示器 左边有一个图片指示器
YHOptionTableViewItem * YHOptionTableItemInitTitleIndicator(NSString * _Nullable title);


/// 图标 加 标题
YHOptionTableViewItem * YHOptionTableItemInitIconTitle(NSString * _Nullable title, NSString * _Nullable imageName, BOOL showRightArrow, BOOL showBottomLine);

/// 标题 内容选择
/// @param title 标题
/// @param placeholder 预设提示文案
YHOptionTableViewItemPickerInfo * YHOptionTableItemInitTitleContentPicker(NSString * _Nullable title, NSString * _Nullable placeholder);

/// 输入框
/// @param title 标题
/// @param placeholder 预设提示文案
/// @param maxTextCount 最大字符数量
YHOptionTableViewItemInputTextFiled * YHOptionTableItemInitTitleInputTextField(NSString * _Nullable title, NSString * _Nullable placeholder, NSInteger maxTextCount);

/// 输入框
/// @param title 标题
/// @param maxTextCount 最大字符数量
YHOptionTableViewItemInputTextView * YHOptionTableItemInitTitleInputTextView(NSString * _Nullable title, NSInteger maxTextCount, BOOL isFullCell);

/// 单选框
/// @param title 标题
/// @param menus 单选按钮菜单
YHOptionTableViewItemCheckBox * YHOptionTableItemInitTitleCheckBoxSingle(NSString * _Nullable title, NSArray <NSString *> * menus);

/// 两个选择框
YHOptionTableViewItemTwoBoxs * YHOptionTableItemInitTitleTwoBoxsPicker(NSString * _Nullable title);


/// 图片列表 查看
/// @param imageList 图片信息
/// @param isFullCell 是否铺满cell
YHOptionTableViewItemImageList * YHOptionTableItemInitTitleImageListLook(NSString * _Nullable title, NSArray * imageList, BOOL isFullCell);


/// 图片列表 可选择编辑
/// @param title 标题
/// @param imageList 图片信息
/// @param maxCount 最大数
/// @param isFullCell 是否铺满cell
YHOptionTableViewItemImageList * YHOptionTableItemInitTitleImageListEdit(NSString * _Nullable title, NSArray * imageList, NSInteger maxCount, BOOL isFullCell);

/// 标签信息
/// @param title 标题
/// @param tags 标签数组
/// @param canLongPressEdit 是否长按可编辑
/// @param isFullCell 铺满cell
/// @param maxCount 编辑状态下最多多少个标签
YHOptionTableViewItemTags * YHOptionTableItemInitTitleTags(NSString * _Nullable title, NSArray <NSString *>* tags, BOOL canLongPressEdit, BOOL isFullCell, NSInteger maxCount);

/// 开关信息
/// @param title 标题
YHOptionTableViewItemSwitch * YHOptionTableItemInitTitleSwitch(NSString * _Nullable title);

/// 标题信息显示
YHOptionTableViewItemTitle * YHOptionTableItemInitFullTitle(NSString * centerTitle);

/// 提交按钮
YHOptionTableViewItemTitle * YHOptionTableItemSubmitButtonTitle(NSString * _Nullable submitTitle, VoidBlock action);

/// 自定义视图 充满整个cell
YHOptionTableViewItemCustomStyle * YHOptionTableItemInitTitleCustomViewFullFill(CGFloat height);
/// 自定义视图 充满cell 有左右间距
YHOptionTableViewItemCustomStyle * YHOptionTableItemInitTitleCustomViewFullSpace15(NSString * _Nullable title, CGFloat height);
YHOptionTableViewItemCustomStyle * YHOptionTableItemInitTitleCustomView(NSString * _Nullable title, BOOL isFullNoneSpace, BOOL isFullNCell, CGFloat height);


@interface YHOptionLayoutItemStyles : NSObject

@end

NS_ASSUME_NONNULL_END
